// 导入字典的选项类型接口
import { Option } from '@/api/dict';

// 服务端返回的分页数据接口类别
export interface TablePaginationData{
  data: string|[], // 返回的数据，如果是""表示数据为空，否则返回数组形式。
  totalRecords:number, // 总记录数
  pageSize:number, // 每页显示数
  page:number, // 当前页数
}
// 服务端返回的数据接口
export interface ResponseData{
  code:number, // 返回状态，0表示成功
  msg?:string, // 返回的错误信息
  data?: string|TablePaginationData, // 返回的数据，如果是""表示数据为空，否则返回数组形式。
  time?:number, // 请求时间，长整型
}
// 表格列字段
export interface TableColumn{
  label:string, // 字段的标签，如账户名
  prop: string, // 字段的属性名，如username
  width?:number, // 列宽度，如100
  align?:string, // 对齐方式，默认是居中
  fixed?: boolean, // 对应element table的fixed属性
  type?:string, // 属性的类型，如自定义就是custom;
  dict?:Option[], // 字典集合，用于配合表格展示，如性别集合
  // visible?: boolean, // 该列是否显示
}
// 表格基本数据
export interface TableData{ // 记录表格数据
  data: any[], // 表格记录
  // 分页-传递到服务端的数值
  pageSize?: number, // 每页的最大记录数
  page?: number, // 当前页
  // 分页-服务端返回的数值
  total?: number, // 总记录数
  hideOnSinglePage?: boolean, // 如果只有一页，则隐藏分页栏，隐藏之后无法再选择恢复（例如改变每页的最大记录数为单页后，无法再修改每页记录数，因为分页栏已经消失）。false为不隐藏，如果不隐藏可以不在分页插件设置该属性。
}

// 表单字段
export interface FormHeader{
  label:string, // 表单的label信息，对应element的表单Label
  prop: string, // 表单的prop信息，对应element的表单prop
  // 表单的prop重命名。因为关联属性，如prop命名为department.id后，无法在slot中被认可或是判断存在，一般会在prop改命名为departmentId
  // 如果需要进行处理该属性则可以在propName中命名为"department.id"进行处理
  propAsName?:string,
  width?:number, // 列宽度，如100
  placeholder?:string, // 对应表单元素的placeholder属性
  disabled?:boolean, // 表单元素是否禁用
  readonly?:boolean, // 表单元素是否只读
  show?:boolean, // 表单元素是否显示
  icon?:string, // 表单元素的内嵌图标，例如：prefix-icon="UserFilled"
  type?:string, // 属性的类型，如默认就是input，自定义就是custom；text表示文本；textarea表示文本区域,number就是数字类型（v-moel.number）,integer表示整数
  dict?:Option[], // 字典集合，用于配合表格展示，如性别集合
  // props?:{ // 对应element的tree插件中的props属性，一般配合dict的字典属性展示。如果有自定义的value等属性，则配合这个使用；如果dict中默认的属性即为value,label，则无需使用本标签
  //   value?:string, // 键
  //   label?:string, // 键对应的显示标签
  //   children?:string, // 树形菜单
  // },
  rules?:any[], // 单个字段的验证规则
  dateType?:string, // 选择日期后的返回类型，新增时间：2023-01-16 新增人：qzy
}
